package com.shjzit.loglib.db.dao;


import com.shjzit.loglib.db.DatabaseManager;
import com.shjzit.loglib.db.entity.LogEntity;

import java.util.List;

public class LogDaoHelper {

    ////////////////////////////////////////////////////////////////////////////////////////////////
    //  数据库操作：增加
    ////////////////////////////////////////////////////////////////////////////////////////////////

    /**
     * 插入日志
     *
     * @param entities
     */
    public static void insertLogs(LogEntity... entities) {
        LogDao dao = DatabaseManager.getInstance().getDatabase().logDao();
        dao.insert(entities);
    }

    ////////////////////////////////////////////////////////////////////////////////////////////////
    //  数据库操作：删除
    ////////////////////////////////////////////////////////////////////////////////////////////////

    /**
     * 删除日志
     *
     * @param entities
     */
    public static void deleteLogs(LogEntity... entities) {
        LogDao dao = DatabaseManager.getInstance().getDatabase().logDao();
        dao.deleteLogs(entities);
    }

    ////////////////////////////////////////////////////////////////////////////////////////////////
    //  数据库操作：修改
    ////////////////////////////////////////////////////////////////////////////////////////////////

    ////////////////////////////////////////////////////////////////////////////////////////////////
    //  数据库操作：查询
    ////////////////////////////////////////////////////////////////////////////////////////////////

    /**
     * 查询所有日志
     *
     * @return
     */
    public static List<LogEntity> queryAllLogs() {
        LogDao dao = DatabaseManager.getInstance().getDatabase().logDao();
        return dao.queryAllLogs();
    }

    /**
     * 查询第一条日志
     *
     * @return
     */
    public static LogEntity queryFirstLog() {
        try {
            LogDao dao = DatabaseManager.getInstance().getDatabase().logDao();
            return dao.queryFirstLog();
        } catch (Exception ex) {
            ex.printStackTrace();
        }
        return null;
    }
}
